<div id="maincontent">

<h1>ECMAScript 加性运算符</h1>

<div id="tpn">

</div>


<div>
<p><strong>在多数程序设计语言中，加性运算符（即加号或减号）通常是最简单的数学运算符。</strong></p>
<p><strong>在 ECMAScript 中，加性运算符有大量的特殊行为。</strong></p>
</div>


<div>
<h2>加法运算符</h2>

<p>法运算符由加号（+）表示：</p>

<pre>var iResult = 1 + 2</pre>

<p>与乘性运算符一样，在处理特殊值时，ECMAScript 中的加法也有一些特殊行为：</p>

<ul>
<li>某个运算数是 NaN，那么结果为 NaN。</li>
<li>-Infinity 加 -Infinity，结果为 -Infinity。</li>
<li>Infinity 加 -Infinity，结果为 NaN。</li>
<li>+0 加 +0，结果为 +0。</li>
<li>-0 加 +0，结果为 +0。</li>
<li>-0 加 -0，结果为 -0。</li>
</ul>

<p>不过，如果某个运算数是字符串，那么采用下列规则：</p>

<ul>
<li>如果两个运算数都是字符串，把第二个字符串连接到第一个上。</li>
<li>如果只有一个运算数是字符串，把另一个运算数转换成字符串，结果是两个字符串连接成的字符串。</li>
</ul>

<p>例如：</p>

<pre>
var result = 5 + 5;	<span>//两个数字</span>
alert(result);		<span>//输出 &quot;10&quot;</span>
var result2 = 5 + &quot;5&quot;;	<span>//一个数字和一个字符串</span>
alert(result);		<span>//输出 &quot;55&quot;</span>
</pre>

<p>这段代码说明了加法运算符的两种模式之间的差别。正常情况下，5+5 等于 10（原始数值），如上述代码中前两行所示。不过，如果把一个运算数改为字符串 &quot;5&quot;，那么结果将变为 &quot;55&quot;（原始的字符串值），因为另一个运算数也会被转换为字符串。</p>

<p class="important"><span>注意：</span>为了避免 JavaScript 中的一种常见错误，在使用加法运算符时，一定要仔细检查运算数的数据类型。</p>
</div>


<div>
<h2>减法运算符</h2>

<p>减法运算符（-），也是一个常用的运算符：</p>

<pre>var iResult = 2 - 1;</pre>

<p>与加法运算符一样，在处理特殊值时，减法运算符也有一些特殊行为：</p>

<ul>
<li>某个运算数是 NaN，那么结果为 NaN。</li>
<li>Infinity 减 Infinity，结果为 NaN。</li>
<li>-Infinity 减 -Infinity，结果为 NaN。</li>
<li>Infinity 减 -Infinity，结果为 Infinity。</li>
<li>-Infinity 减 Infinity，结果为 -Infinity。</li>
<li>+0 减 +0，结果为 +0。</li>
<li>-0 减 -0，结果为 -0。</li>
<li>+0 减 -0，结果为 +0。</li>
<li>某个运算符不是数字，那么结果为 NaN。</li>
</ul>

<p class="note"><span>注释：</span>如果运算数都是数字，那么执行常规的减法运算，并返回结果。</p>
</div>


<div id="bpn">

</div>




</div>
